package com.duoec.doc.entity;

import java.util.List;

/**
 *
 * @author xuwenzhen
 * @date 2020/1/31
 */
public class MockConfigItem {
    /**
     * 参数名称
     */
    private String key;

    /**
     * 参数值
     */
    private String value;

    /**
     * 参数类型名称
     */
    private String entityName;

    /**
     * 类型：0=基本类型 1=枚举 2=pojo 3=collection 4=map 5=数组
     */
    private Integer type;

    /**
     * 基础类型：0=number 1=string 2=boolean 3=byte 4=date 5=enum
     */
    private Integer baseType;

    /**
     * 是否有效
     */
    private Boolean available;

    /**
     * 子属性
     */
    private List<MockConfigItem> children;

    /**
     * mock类型，每种类型的值会有所不同，0=固定值
     */
    private Integer mockType;

    /**
     * mock-随机值-起始（包含）
     */
    private Integer mockValueStart;

    /**
     * mock-随机值-结束（包含）
     */
    private Integer mockValueEnd;

    /**
     * mock-随机值-指定值
     */
    private List<String> mockValueRandomList;

    /**
     * mock-列表-是否已生成结构
     */
    private Boolean mockListLoopStructCreated;

    /**
     * 是否循环加载过
     */
    private Boolean loaded;

    /**
     * 如果是Map类型时，map值的类型配置
     */
    private MockConfigItem mapValueConfig;

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public String getValue() {
        return value;
    }

    public void setValue(String value) {
        this.value = value;
    }

    public String getEntityName() {
        return entityName;
    }

    public void setEntityName(String entityName) {
        this.entityName = entityName;
    }

    public Integer getType() {
        return type;
    }

    public void setType(Integer type) {
        this.type = type;
    }

    public Integer getBaseType() {
        return baseType;
    }

    public void setBaseType(Integer baseType) {
        this.baseType = baseType;
    }

    public Boolean getAvailable() {
        return available;
    }

    public void setAvailable(Boolean available) {
        this.available = available;
    }

    public List<MockConfigItem> getChildren() {
        return children;
    }

    public void setChildren(List<MockConfigItem> children) {
        this.children = children;
    }

    public Integer getMockType() {
        return mockType;
    }

    public void setMockType(Integer mockType) {
        this.mockType = mockType;
    }

    public Integer getMockValueStart() {
        return mockValueStart;
    }

    public void setMockValueStart(Integer mockValueStart) {
        this.mockValueStart = mockValueStart;
    }

    public Integer getMockValueEnd() {
        return mockValueEnd;
    }

    public void setMockValueEnd(Integer mockValueEnd) {
        this.mockValueEnd = mockValueEnd;
    }

    public List<String> getMockValueRandomList() {
        return mockValueRandomList;
    }

    public void setMockValueRandomList(List<String> mockValueRandomList) {
        this.mockValueRandomList = mockValueRandomList;
    }

    public Boolean getMockListLoopStructCreated() {
        return mockListLoopStructCreated;
    }

    public void setMockListLoopStructCreated(Boolean mockListLoopStructCreated) {
        this.mockListLoopStructCreated = mockListLoopStructCreated;
    }

    public Boolean getLoaded() {
        return loaded;
    }

    public void setLoaded(Boolean loaded) {
        this.loaded = loaded;
    }

    public MockConfigItem getMapValueConfig() {
        return mapValueConfig;
    }

    public void setMapValueConfig(MockConfigItem mapValueConfig) {
        this.mapValueConfig = mapValueConfig;
    }
}
